$('document').ready(function() {

	var urlBase = $('#base_url').val();

	var oAvisos = $('#tbAvisos').dataTable({
	    "bServerSide": true,
	    "bProcessing": false,
	    "sAjaxSource": "avisos/ajaxBuscarAvisos",
		"sServerMethod": "POST",
		"iDisplayLength": 10,
		"bAutoWidth": false,
		"aoSearchCols": [
			{ "sSearch": $('#dataAvisoAte').val() }, // Filtra pela data
		],
	    "fnServerParams": function ( aoData ) {
	      	aoData.push( { "name": "usuarios", "value": $('#inputUsuariosAviso').val() } );
	    },
		"sPaginationType": "full_numbers",
		"bStateSave": true,
		"sDom": '<"top">lrt<"bottom"ip><"clear">',
		// "bFilter": true,
		"oLanguage": {
			"sUrl": urlBase + 'application/assets/datatables_language.txt', // arquivo que contém a tradução dos parametros datatables
		},
	    "aoColumns": [
	    	{"sTitle": "<input type='checkbox' id='checkMarcaRegistros' class='alinhaTh'>", "sWidth": "3%", "sName": "marcarAvisos", "bSortable": false, "sClass":"center"},
			{"sTitle": "Data", "sWidth": "10%", "aTargets": [0], "sName":"avData"},
			{"sTitle": "Mensagem", "sWidth": "69%", "aTargets": [1], "sName":"avConteudo", "bSortable": false},
			{"sTitle": "Usuário", "sWidth": "10%", "aTargets": [2], "sName":"avUsuario"},
			{"sTitle": "Status", "sWidth": "5%", "aTargets": [3], "sName":"avStatus", "sClass":"center"},
			{"sTitle": "", "sWidth": "3%", "aTargets": [4], "sName":"avMarcarNaoLido", "sClass":"center", "bSortable":false},
      	],
	});
	// Ação do botão buscar
	$('#buscaAvisos').click(function() {
		oAvisos.fnDraw();
	});
	// Ação de limpar os filtros da tabela
	$('#limparBuscaAvisos').click(function() {
		 $('#inputUsuariosAviso').val('');
		 oAvisos.fnDraw();
	});

	// Exibe a mensagem para o usuário quando ele clicar no icone de mensagem
	$('.exibeMensagemUsuario').live('click', function() {
		// Monta a janela modal
		var textoModal = 
		  '<div id="exibeAvisoModal" class="modal" tabindex="-100" role="dialog" aria-hidden="true">'
		+	'<div class="modal-header">'
		+		'<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>'
		+ 		'<h3>Mensagem</h3>'
		+ 	'</div>'
		+ 	'<div class="modal-body">'	
		+ 		'<p>'+$(this).attr('mensagemaviso')+'</p>'
		+	'</div>'
		+ '</div>'

		$('#mensagemAvisoModal').html(textoModal);

		$('#exibeAvisoModal').modal({});

		// Chama a função para marcar o aviso como lido a hora que o usuário clicar no aviso
		atualizaQuantidadeAvisos($(this).attr('id'));
		oAvisos.fnDraw(false);
	});

	// Marca o aviso como não lido quando o usuário clicar no icone
	$('.marcarComoNaoLido').live('click', function() {
		$.ajax({
			type: 'post',
			url: 'avisos/ajaxMudaStatusAviso',
			dataType: 'json',
			data: {
				id: $(this).attr('id'),
				status: 2
			},
			success: function(dados) {
				// Atualiza o grid
				oAvisos.fnDraw(false);
				// Atualiza o botão que exibe a quantidade de avisos do usuário
				$('#icon-notification-aviso > span').remove()
				$('#icon-notification-aviso').html(dados.quantidadeAvisos);
			}
		});
	});

	// Exclui os registros selecionados quando o usuário clicar em excluir
	$('.excluiRegistro').live('click', function() {
		// Se o botão não estiver desabilitado envia o ajax para excluir
		if ($('.excluiRegistro.disabled').length == 0) {

			// Exibe um alerta para o usuário para confirmar a ação
			$('#confirmaAcao h3').html('Atenção!');
			$('#confirmaAcao .modal-body').html('<p>Essa ação é irreversível. Deseja continuar?</p>');
			$('#confirmaAcao').modal();

			// Se o usuário confirmar a ação
			$('#continuarAcao').click(function() {

				// Monta id dos avisos em um array
				ids = new Array();
				$('.checkEditavel:checked').each(function() {
					ids.push($(this).attr('id'));
				});

				$.ajax({
					type: 'post',
					dataType: 'json',
					url: 'avisos/ajaxExcluirAvisos',
					assync: false,
					data: {
						id: ids
					},
					success: function(dados) {
						// Esconde o aviso
						$('#confirmaAcao').modal('hide');
						// Recarrega o grid
						oAvisos.fnDraw(false);
					}
				});

			});
		}
	});


});